package com.kitty.game.tuoguan;

import com.kitty.game.role.model.Role;
import com.kitty.game.team.message.RespMsg;
import com.kitty.mina.annotation.RequestMapping;
import com.kitty.mina.cache.SessionUtils;
import com.kitty.mina.message.MessagePusher;
import org.apache.mina.core.session.IoSession;
import org.springframework.stereotype.Controller;

@Controller
public class TuoguanController {

    @RequestMapping
    public void tuoguan(IoSession session, ReqTuoguan reqTuoguan) {
        Role role = SessionUtils.getRoleBySession(session);
        if (role == null) {
            return;
        }

        int tuoguanstate = role.getExtendBox().getTuoguanstate() ;
        int tuoguantime = role.getExtendBox().getTuoguantime() ;

        // 托管页面
        RespTuoguan respTuoguan= new RespTuoguan() ;
        respTuoguan.setTi(tuoguantime);
        respTuoguan.setState((byte)tuoguanstate);
        MessagePusher.pushMessage(session, respTuoguan);

    }


    @RequestMapping
    public void tuoguan(IoSession session, RespGoumaiTuoguanTime respGoumaiTuoguanTime) {

        MessagePusher.pushMessage(session, new RespMsg("#R请到积分商城购买！#n"));
        return;
    }


    @RequestMapping
    public void dakaituoguan(IoSession session, ReqOpenTuoguan reqOpenTuoguan) {

        Role role = SessionUtils.getRoleBySession(session);
        if (role == null) {
            return;
        }

        role.getExtendBox().setTuoguanstate(1);
        role.getExtendBox().setTuoguantime(259200);


        int tuoguanstate = role.getExtendBox().getTuoguanstate() ;
        int tuoguantime = role.getExtendBox().getTuoguantime() ;

        // 托管页面
        RespTuoguan respTuoguan= new RespTuoguan() ;
        respTuoguan.setTi(tuoguantime);
        respTuoguan.setState((byte)tuoguanstate);
        MessagePusher.pushMessage(session, respTuoguan);

    }

    @RequestMapping
    public void settuoguan(IoSession session, ReqSetTuoguanState reqSetTuoguanState) {

        Role role = SessionUtils.getRoleBySession(session);
        if (role == null) {
            return;
        }
        if(reqSetTuoguanState.getState() == 2){
            MessagePusher.pushMessage(session, new RespMsg("#Y已经为你开启永久托管，无法取消！"));
            return;
        }
        role.getExtendBox().setTuoguanstate(reqSetTuoguanState.getState());


        int tuoguanstate = role.getExtendBox().getTuoguanstate() ;
        int tuoguantime = role.getExtendBox().getTuoguantime() ;

        // 托管页面
        RespTuoguan respTuoguan= new RespTuoguan() ;
        respTuoguan.setTi(tuoguantime);
        respTuoguan.setState((byte)tuoguanstate);
        MessagePusher.pushMessage(session, respTuoguan);
    }

}
